package co.com.smart.persistence.entity.dto;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * The persistent class for the smart_grupo database table.
 * 
 */
@Entity
@Table(name="smart_grupo")
@NamedQuery(name="SmartGrupo.findAll", query="SELECT s FROM SmartGrupo s")
public class SmartGrupo implements Serializable {
		private static final long serialVersionUID = 1L;
		
		@Id
		@GeneratedValue(strategy=GenerationType.IDENTITY)
		@Column(name="sm_scgrupo")
		private BigDecimal smscgrupo;

		@Column(name="sm_cogrupo")
		private String smcogrupo;

		@Column(name="sm_dsgrupo")
		private String smdsgrupo;
					 					 			
		@Column(name="sm_cousuario")
		private String smcousuario;

		@Temporal(TemporalType.DATE)
		@Column(name="sm_fhingreso")
		private Date smfhingreso;

		@Temporal(TemporalType.DATE)
		@Column(name="sm_fhmodificacion")
		private Date smfhmodificacion;

		@Temporal(TemporalType.DATE)
		@Column(name="sm_fhretiro")
		private Date smfhretiro;

		//bi-directional many-to-one association to SmartInstitucion
		@ManyToOne(optional = false, fetch = FetchType.LAZY)
		@JoinColumn(name="sm_scinstitucion", referencedColumnName="sm_scinstitucion")
		private SmartInstitucion smartInstitucion;
		
		//bi-directional many-to-one association to SmartDatosMaestro
		@ManyToOne(optional = false, fetch = FetchType.LAZY)
		@JoinColumn(name="sm_scgrado", referencedColumnName="sm_scdatmaestro")
		private SmartDatosMaestro smartDatosMaestro;

		public BigDecimal getSmscgrupo() {
			return smscgrupo;
		}

		public void setSmscgrupo(BigDecimal smscgrupo) {
			this.smscgrupo = smscgrupo;
		}

		public String getSmcogrupo() {
			return smcogrupo;
		}

		public void setSmcogrupo(String smcogrupo) {
			this.smcogrupo = smcogrupo;
		}

		public String getSmdsgrupo() {
			return smdsgrupo;
		}

		public void setSmdsgrupo(String smdsgrupo) {
			this.smdsgrupo = smdsgrupo;
		}

		public String getSmcousuario() {
			return smcousuario;
		}

		public void setSmcousuario(String smcousuario) {
			this.smcousuario = smcousuario;
		}

		public Date getSmfhingreso() {
			return smfhingreso;
		}

		public void setSmfhingreso(Date smfhingreso) {
			this.smfhingreso = smfhingreso;
		}

		public Date getSmfhmodificacion() {
			return smfhmodificacion;
		}

		public void setSmfhmodificacion(Date smfhmodificacion) {
			this.smfhmodificacion = smfhmodificacion;
		}

		public Date getSmfhretiro() {
			return smfhretiro;
		}

		public void setSmfhretiro(Date smfhretiro) {
			this.smfhretiro = smfhretiro;
		}

		public SmartInstitucion getSmartInstitucion() {
			return smartInstitucion;
		}

		public void setSmartInstitucion(SmartInstitucion smartInstitucion) {
			this.smartInstitucion = smartInstitucion;
		}

		public SmartDatosMaestro getSmartDatosMaestro() {
			return smartDatosMaestro;
		}

		public void setSmartDatosMaestro(SmartDatosMaestro smartDatosMaestro) {
			this.smartDatosMaestro = smartDatosMaestro;
		}
}
